﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace KPIS.GERP.GFMS.MODEL
{
    [Serializable]
    public class M_BGM_ProjectExpense
    {
        private Nullable<int> BGM_PROJ_EXP_SEQ;
        private Nullable<int> BGM_PROJ_SEQ;
        private string DESCR;
        private Nullable<double> TOTAL_AMOUNT;
        private Nullable<double> UNIT_PRICE;
        private Nullable<int> UNIT_QTY;
        private string REMARK;
        private Nullable<int> BGM_SOURCE_SEQ;
        private Nullable<int> BGM_EXP_SEQ;
        private Nullable<int> ICM_RES_ITEM_SEQ;
        private string ICM_RES_ITEM_NAME;

        private Nullable<double> AMOUNT;
        private M_BGM_MAS_Source M_BGM_MAS_SOURCE;
        private M_BGM_MAS_Expense M_BGM_MAS_EXPENSE;
        private M_BGM_MAS_ExpenseGroup M_BGM_MAS_EXPENSEGROUP;

        private string RECORD_STATUS;

        public M_BGM_ProjectExpense()
        {
            m_bgm_mas_source = new M_BGM_MAS_Source();
            m_bgm_mas_expense = new M_BGM_MAS_Expense();
            m_bgm_mas_expensegroup = new M_BGM_MAS_ExpenseGroup();
        }

        public M_BGM_ProjectExpense(
            Nullable<int> BGM_PROJ_EXP_SEQ
            , Nullable<int> BGM_PROJ_SEQ
            , string DESCR
            , Nullable<double> TOTAL_AMOUNT
            , Nullable<double> UNIT_PRICE
            , Nullable<int> UNIT_QTY
            , string REMARK
            , Nullable<int> BGM_SOURCE_SEQ
            , Nullable<int> BGM_EXP_SEQ
            , Nullable<int> ICM_RES_ITEM_SEQ
            , string ICM_RES_ITEM_NAME

            , Nullable<double> AMOUNT
            , M_BGM_MAS_Source M_BGM_MAS_SOURCE
            , M_BGM_MAS_Expense M_BGM_MAS_EXPENSE
            , M_BGM_MAS_ExpenseGroup M_BGM_MAS_EXPENSEGROUP
            , string RECORD_STATUS)
        {
            this.BGM_PROJ_EXP_SEQ = BGM_PROJ_EXP_SEQ;
            this.BGM_PROJ_SEQ = BGM_PROJ_SEQ;
            this.DESCR = DESCR;
            this.TOTAL_AMOUNT = TOTAL_AMOUNT;
            this.UNIT_PRICE = UNIT_PRICE;            
            this.UNIT_QTY = UNIT_QTY;
            this.REMARK = REMARK;
            this.BGM_SOURCE_SEQ = BGM_SOURCE_SEQ;
            this.BGM_EXP_SEQ = BGM_EXP_SEQ;
            this.ICM_RES_ITEM_SEQ = ICM_RES_ITEM_SEQ;
            this.ICM_RES_ITEM_NAME = ICM_RES_ITEM_NAME;

            this.AMOUNT = AMOUNT;
            this.M_BGM_MAS_SOURCE = M_BGM_MAS_SOURCE;
            this.M_BGM_MAS_EXPENSE = M_BGM_MAS_EXPENSE;
            this.M_BGM_MAS_EXPENSEGROUP = M_BGM_MAS_EXPENSEGROUP;
            this.RECORD_STATUS = RECORD_STATUS;
        }

        public Nullable<int> bgm_proj_exp_seq
        {
            set { BGM_PROJ_EXP_SEQ = value; }
            get { return BGM_PROJ_EXP_SEQ; }
        }

        public Nullable<int> bgm_proj_seq
        {
            set { BGM_PROJ_SEQ = value; }
            get { return BGM_PROJ_SEQ; }
        }

        public string descr
        {
            set { DESCR = value; }
            get { return DESCR; }
        }

        public Nullable<double> total_amount
        {
            set { TOTAL_AMOUNT = value; }
            get { return TOTAL_AMOUNT; }
        }

        public Nullable<double> unit_price
        {
            set { UNIT_PRICE = value; }
            get { return UNIT_PRICE; }
        }

        public Nullable<int> unit_qty
        {
            set { UNIT_QTY = value; }
            get { return UNIT_QTY; }
        }

        public string remark
        {
            set { REMARK = value; }
            get { return REMARK; }
        }

        public Nullable<int> bgm_source_seq
        {
            set { BGM_SOURCE_SEQ = value; }
            get { return BGM_SOURCE_SEQ; }
        }

        public Nullable<int> bgm_exp_seq
        {
            set { BGM_EXP_SEQ = value; }
            get { return BGM_EXP_SEQ; }
        }

        public Nullable<double> amount
        {
            set { AMOUNT = value; }
            get { return AMOUNT; }
        }

        public Nullable<int> icm_res_item_seq
        {
            set { ICM_RES_ITEM_SEQ = value; }
            get { return ICM_RES_ITEM_SEQ; }
        }

        public string icm_res_item_name
        {
            set { ICM_RES_ITEM_NAME = value; }
            get { return ICM_RES_ITEM_NAME; }
        }

        public M_BGM_MAS_Source m_bgm_mas_source
        {
            set { M_BGM_MAS_SOURCE = value; }
            get { return M_BGM_MAS_SOURCE; }
        }

        public M_BGM_MAS_Expense m_bgm_mas_expense
        {
            set { M_BGM_MAS_EXPENSE = value; }
            get { return M_BGM_MAS_EXPENSE; }
        }

        public M_BGM_MAS_ExpenseGroup m_bgm_mas_expensegroup
        {
            set { M_BGM_MAS_EXPENSEGROUP = value; }
            get { return M_BGM_MAS_EXPENSEGROUP; }
        }

        public string record_status
        {
            set { RECORD_STATUS = value; }
            get { return RECORD_STATUS; }
        }
    }
}
